/*
 * Decompiled with CFR 0.150.
 * 
 * Could not load the following classes:
 *  cn.hutool.core.date.DateUtil
 *  cn.hutool.core.util.ObjectUtil
 *  com.alibaba.fastjson.JSON
 *  de.felixroske.jfxsupport.FXMLController
 *  javafx.beans.value.ChangeListener
 *  javafx.beans.value.ObservableValue
 *  javafx.collections.FXCollections
 *  javafx.collections.ObservableList
 *  javafx.event.ActionEvent
 *  javafx.event.EventHandler
 *  javafx.fxml.FXML
 *  javafx.fxml.Initializable
 *  javafx.geometry.Insets
 *  javafx.scene.Node
 *  javafx.scene.control.Alert
 *  javafx.scene.control.Alert$AlertType
 *  javafx.scene.control.Button
 *  javafx.scene.control.CheckBox
 *  javafx.scene.control.ComboBox
 *  javafx.scene.control.DatePicker
 *  javafx.scene.control.ScrollPane
 *  javafx.scene.control.TableCell
 *  javafx.scene.control.TableColumn
 *  javafx.scene.control.TableView
 *  javafx.scene.control.TextField
 *  javafx.scene.control.cell.PropertyValueFactory
 *  javafx.scene.input.KeyCode
 *  javafx.scene.input.KeyEvent
 *  javafx.scene.layout.AnchorPane
 *  javafx.scene.layout.HBox
 *  javafx.scene.layout.VBox
 *  javafx.scene.text.Text
 *  javafx.stage.Modality
 *  javafx.util.Callback
 *  javafx.util.StringConverter
 *  org.springframework.beans.BeanUtils
 *  org.springframework.beans.factory.annotation.Autowired
 *  org.springframework.util.CollectionUtils
 */
package com.gys.controller.addBox;

import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.gys.GysApplication;
import com.gys.common.business.AddBoxUtil;
import com.gys.common.business.SalesReceiptsUtil;
import com.gys.common.data.HttpJson;
import com.gys.common.data.KeyValue;
import com.gys.common.util.CommonUtil;
import com.gys.controller.BaseController;
import com.gys.controller.addBox.AddAddBoxController;
import com.gys.controller.addBox.ClearBoxTipController;
import com.gys.controller.dataManger.ControllerManger;
import com.gys.controller.index.IndexController;
import com.gys.data.addBox.AddBoxDetailOutData;
import com.gys.data.addBox.AddBoxInfoInData;
import com.gys.data.addBox.AddBoxInfoOutData;
import com.gys.data.addBox.GetOneAddBoxOutData;
import com.gys.data.salesReceipts.GetDoctorOutData;
import com.gys.view.addBox.AddAddBoxView;
import com.gys.view.addBox.ClearBoxTipView;
import de.felixroske.jfxsupport.FXMLController;
import java.lang.reflect.Method;
import java.net.URL;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.ResourceBundle;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.geometry.Insets;
import javafx.scene.Node;
import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.control.CheckBox;
import javafx.scene.control.ComboBox;
import javafx.scene.control.DatePicker;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TableCell;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
import javafx.stage.Modality;
import javafx.util.Callback;
import javafx.util.StringConverter;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;

@FXMLController
public class AddBoxController
extends BaseController
implements Initializable {
    @FXML
    private HBox boxView;
    @FXML
    private VBox vBox;
    @FXML
    private TextField gsihVoucherIdQuery;
    @FXML
    private TextField gsidBatchNoQuery;
    @FXML
    private TextField gsidProIdQuery;
    @FXML
    private HBox queryHbox;
    @FXML
    private TableView<AddBoxInfoOutData> tableViewTwo;
    @FXML
    private TableColumn<AddBoxInfoOutData, String> gsihDate;
    @FXML
    private TableColumn<AddBoxInfoOutData, String> gsihStatus;
    @FXML
    private TableColumn<AddBoxInfoOutData, String> gsihVoucherId;
    @FXML
    private TableColumn<AddBoxInfoOutData, String> index;
    @FXML
    private TableColumn<AddBoxInfoOutData, CheckBox> checkBox;
    @FXML
    private TableColumn<AddBoxInfoOutData, String> gsihEmp;
    @FXML
    private TableColumn<AddBoxInfoOutData, String> gsihRemaks;
    @FXML
    private AnchorPane anchorPane;
    @FXML
    private TableView<AddBoxDetailOutData> tableViewThree;
    @FXML
    private TableColumn<AddBoxDetailOutData, String> gsidBatch;
    @FXML
    private TableColumn<AddBoxDetailOutData, String> proForm;
    @FXML
    private TableColumn<AddBoxDetailOutData, String> proSpecs;
    @FXML
    private TableColumn<AddBoxDetailOutData, String> proPlace;
    @FXML
    private TableColumn<AddBoxDetailOutData, String> proUnit;
    @FXML
    private TableColumn<AddBoxDetailOutData, String> gsadStockStatus;
    @FXML
    private TableColumn<AddBoxDetailOutData, String> gsidValidDate;
    @FXML
    private TableColumn<AddBoxDetailOutData, String> gsidProId;
    @FXML
    private TableColumn<AddBoxDetailOutData, String> gsidProName;
    @FXML
    private TableColumn<AddBoxDetailOutData, String> proRegisterNo;
    @FXML
    private TableColumn<AddBoxDetailOutData, String> proFactoryName;
    @FXML
    private TableColumn<AddBoxDetailOutData, String> gsidQty;
    @FXML
    private TableColumn<AddBoxDetailOutData, String> indexDetail;
    @FXML
    private TableColumn<AddBoxDetailOutData, String> gsidBatchNo;
    @FXML
    private TableColumn<AddBoxDetailOutData, String> normalPrice;
    @FXML
    private Button enterBtn;
    @FXML
    private ComboBox<KeyValue> gsihStatusQuery;
    @FXML
    private ScrollPane scrollPane;
    @FXML
    private Insets tableViewTwoInsets;
    @FXML
    private Button approveBtn;
    @FXML
    private HBox queryHbox1;
    @FXML
    private DatePicker gsihDateQuery;
    @Autowired
    private IndexController indexController;
    @FXML
    private ComboBox<KeyValue> gsihEmpQuery;
    @FXML
    private HBox boxViewTwo;
    @Autowired
    private ClearBoxTipController clearBoxTipController;
    @Autowired
    private AddAddBoxController addaddBoxController;
    private ObservableList<AddBoxInfoOutData> observableTableTwoList = FXCollections.observableArrayList(new ArrayList());
    private ObservableList<AddBoxDetailOutData> observableTableThreeList = FXCollections.observableArrayList(new ArrayList());
    public ObservableList<KeyValue> gsegNameOptions;

    public void initialize(URL location, ResourceBundle resources) {
        this.scrollPane.setPrefWidth(this.getContentWidth());
        this.scrollPane.setPrefHeight(this.getContentHeight());
        this.vBox.setPrefWidth(this.getContentWidth());
        this.tableViewTwo.setPrefWidth(this.getContentWidth());
        this.tableViewThree.setPrefWidth(this.getContentWidth());
        ControllerManger.controllerMap.put(this.getClass().getSimpleName(), this);
        this.bingTableCell();
        StringConverter converter = CommonUtil.dataPickerFormat("yyyyMMdd");
        this.gsihDateQuery.setConverter(converter);
        ArrayList<KeyValue> gschStatusOptionList = new ArrayList<KeyValue>();
        gschStatusOptionList.add(new KeyValue("\u672a\u88c5\u6597", "0"));
        gschStatusOptionList.add(new KeyValue("\u5df2\u88c5\u6597", "1"));
        ObservableList gschStatusOptions = FXCollections.observableArrayList(gschStatusOptionList);
        this.gsihStatusQuery.setItems(gschStatusOptions);
        this.comboxInit(this.gsihStatusQuery);
        this.gsihStatusQuery.setPrefHeight(35.0);
        List<GetDoctorOutData> outDataList = new ArrayList();
        HttpJson httpJson = SalesReceiptsUtil.queryDruggist(new HashMap<String, Object>());
        if (!httpJson.isSuccess()) {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", httpJson.getMsg());
            alert.showAndWait();
            return;
        }
        outDataList = JSON.parseArray((String)httpJson.getMsg(), GetDoctorOutData.class);
        ArrayList gsegNameOptionList = new ArrayList();
        outDataList.forEach(item -> gsegNameOptionList.add(new KeyValue(item.getName(), item.getId())));
        this.gsegNameOptions = FXCollections.observableArrayList(gsegNameOptionList);
        this.gsihEmpQuery.setItems(this.gsegNameOptions);
        this.comboxInit(this.gsihEmpQuery);
        this.gsihEmpQuery.setPrefHeight(35.0);
        this.init();
    }

    @Override
    public void init() {
        if (ObjectUtil.isEmpty(this.tableViewTwo)) {
            return;
        }
        this.indexController.scrollContentPane.setOnKeyReleased((EventHandler)new EventHandler<KeyEvent>(){

            public void handle(KeyEvent e) {
                if (e.getCode() == KeyCode.ENTER) {
                    AddBoxController.this.sureAction();
                } else if (e.getCode() == KeyCode.F8) {
                    AddBoxController.this.examineAction();
                } else if (e.getCode() == KeyCode.F1) {
                    AddBoxController.this.getClearAction();
                } else if (e.getCode() == KeyCode.F11) {
                    AddBoxController.this.addAction();
                }
                e.consume();
            }
        });
        this.gsihVoucherIdQuery.clear();
        this.gsidProIdQuery.clear();
        this.gsidBatchNoQuery.clear();
        this.gsihDateQuery.setValue(null);
        this.gsihStatusQuery.setValue(new KeyValue());
        this.gsihEmpQuery.setValue(new KeyValue());
        this.initCheckBox();
        this.initTableViewTwo();
    }

    public void initTableViewTwo() {
        HttpJson httpJson;
        List dataList = new ArrayList();
        HashMap<String, Object> param = new HashMap<String, Object>();
        param.put("gsihVoucherId", this.gsihVoucherIdQuery.getText());
        if (ObjectUtil.isNotEmpty(this.gsihStatusQuery.getValue())) {
            param.put("gsihStatus", ((KeyValue)this.gsihStatusQuery.getValue()).getValue());
        }
        if (ObjectUtil.isNotEmpty(this.gsihEmpQuery.getValue())) {
            param.put("gsihEmp", ((KeyValue)this.gsihEmpQuery.getValue()).getValue());
        }
        param.put("proId", this.gsidProIdQuery.getText());
        param.put("gscdBatchNo", this.gsidBatchNoQuery.getText());
        if (ObjectUtil.isNotEmpty(this.gsihDateQuery.getValue())) {
            param.put("gsihDate", DateUtil.format((Date)DateUtil.parse((String)((LocalDate)this.gsihDateQuery.getValue()).toString()), (String)"yyyyMMdd"));
        }
        if (!(httpJson = AddBoxUtil.getAddBox(param)).isSuccess()) {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", httpJson.getMsg());
            alert.showAndWait();
            return;
        }
        dataList = JSON.parseArray((String)httpJson.getMsg(), AddBoxInfoOutData.class);
        this.observableTableTwoList = FXCollections.observableArrayList(dataList);
        this.bingTableCell();
        this.checkBox.setCellValueFactory(cellData -> ((AddBoxInfoOutData)cellData.getValue()).getCheckBox().getCustomCheckBox());
        this.tableViewTwo.setItems(this.observableTableTwoList);
        this.gsegChangeToComBoxEdit(this.gsihEmp);
        this.observableTableThreeList.clear();
        this.tableViewThree.setItems(this.observableTableThreeList);
    }

    public void initCheckBox() {
        this.checkBox.setCellFactory(col -> {
            TableCell<AddBoxInfoOutData, CheckBox> cell = new TableCell<AddBoxInfoOutData, CheckBox>(){

                protected void updateItem(CheckBox item, boolean empty) {
                    super.updateItem(item, empty);
                    this.setGraphic((Node)item);
                    if (item != null) {
                        item.setOnMouseClicked(col -> {
                            if (CollectionUtils.isEmpty((Collection)AddBoxController.this.observableTableTwoList)) {
                                return;
                            }
                            int index = this.getIndex();
                            for (int i = 0; i < AddBoxController.this.observableTableTwoList.size(); ++i) {
                                if (i == index) continue;
                                ((AddBoxInfoOutData)AddBoxController.this.observableTableTwoList.get(i)).getCheckBox().setSelectStatus(false);
                            }
                            if (!((AddBoxInfoOutData)AddBoxController.this.observableTableTwoList.get(index)).getCheckBox().isSelected().booleanValue()) {
                                AddBoxController.this.observableTableThreeList.clear();
                                return;
                            }
                            HashMap<String, Object> param = new HashMap<String, Object>();
                            param.put("gsihVoucherId", ((AddBoxInfoOutData)AddBoxController.this.observableTableTwoList.get(index)).getGsihVoucherId());
                            HttpJson httpJson = AddBoxUtil.getOneAddBox(param);
                            GetOneAddBoxOutData outData = null;
                            if (httpJson.isSuccess()) {
                                AddBoxController.this.observableTableThreeList.clear();
                                outData = (GetOneAddBoxOutData)JSON.parseObject((String)httpJson.getMsg(), GetOneAddBoxOutData.class);
                                for (int i = 0; i < outData.getGaiaSdIndrawerDList().size(); ++i) {
                                    outData.getGaiaSdIndrawerDList().get(i).setIndexDetail(String.valueOf(i + 1));
                                    String normalPrice = outData.getGaiaSdIndrawerDList().get(i).getNormalPrice();
                                    normalPrice = String.format("%.2f", Double.valueOf(normalPrice));
                                    outData.getGaiaSdIndrawerDList().get(i).setNormalPrice(normalPrice);
                                }
                                AddBoxController.this.observableTableThreeList = FXCollections.observableArrayList(outData.getGaiaSdIndrawerDList());
                                AddBoxController.this.tableViewThree.setItems(AddBoxController.this.observableTableThreeList);
                                if ("\u672a\u88c5\u6597".equals(outData.getGaiaSdIndrawerH().getGsihStatus())) {
                                    AddBoxController.this.gsidQtyToTextField();
                                } else {
                                    AddBoxController.this.gsidQtyToText();
                                }
                            } else {
                                Alert alert = AddBoxController.this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", httpJson.getMsg());
                                alert.showAndWait();
                            }
                        });
                    }
                }
            };
            return cell;
        });
    }

    private void bingTableCell() {
        this.checkBox.setCellValueFactory((Callback)new PropertyValueFactory(this.checkBox.getId()));
        this.index.setCellValueFactory((Callback)new PropertyValueFactory(this.index.getId()));
        this.gsihVoucherId.setCellValueFactory((Callback)new PropertyValueFactory(this.gsihVoucherId.getId()));
        this.gsihDate.setCellValueFactory((Callback)new PropertyValueFactory(this.gsihDate.getId()));
        this.gsihStatus.setCellValueFactory((Callback)new PropertyValueFactory(this.gsihStatus.getId()));
        this.gsihEmp.setCellValueFactory((Callback)new PropertyValueFactory(this.gsihEmp.getId()));
        this.gsihRemaks.setCellValueFactory((Callback)new PropertyValueFactory(this.gsihRemaks.getId()));
        this.indexDetail.setCellValueFactory((Callback)new PropertyValueFactory(this.indexDetail.getId()));
        this.gsidProId.setCellValueFactory((Callback)new PropertyValueFactory(this.gsidProId.getId()));
        this.gsidProName.setCellValueFactory((Callback)new PropertyValueFactory(this.gsidProName.getId()));
        this.normalPrice.setCellValueFactory((Callback)new PropertyValueFactory(this.normalPrice.getId()));
        this.gsidBatchNo.setCellValueFactory((Callback)new PropertyValueFactory(this.gsidBatchNo.getId()));
        this.gsidBatch.setCellValueFactory((Callback)new PropertyValueFactory(this.gsidBatch.getId()));
        this.gsidValidDate.setCellValueFactory((Callback)new PropertyValueFactory(this.gsidValidDate.getId()));
        this.gsidQty.setCellValueFactory((Callback)new PropertyValueFactory(this.gsidQty.getId()));
        this.proFactoryName.setCellValueFactory((Callback)new PropertyValueFactory(this.proFactoryName.getId()));
        this.proPlace.setCellValueFactory((Callback)new PropertyValueFactory(this.proPlace.getId()));
        this.proForm.setCellValueFactory((Callback)new PropertyValueFactory(this.proForm.getId()));
        this.proUnit.setCellValueFactory((Callback)new PropertyValueFactory(this.proUnit.getId()));
        this.proSpecs.setCellValueFactory((Callback)new PropertyValueFactory(this.proSpecs.getId()));
        this.proRegisterNo.setCellValueFactory((Callback)new PropertyValueFactory(this.proRegisterNo.getId()));
        this.gsadStockStatus.setCellValueFactory((Callback)new PropertyValueFactory(this.gsadStockStatus.getId()));
    }

    @FXML
    private void getClearAction() {
        this.clearBoxTipController.init();
        GysApplication.showView(ClearBoxTipView.class, (Modality)Modality.APPLICATION_MODAL);
    }

    public void addBoxByClear(String gschVoucherId) {
        HashMap<String, Object> param = new HashMap<String, Object>();
        param.put("gsihVoucherId", gschVoucherId);
        HttpJson httpJson = AddBoxUtil.getOneAddBox(param);
        GetOneAddBoxOutData outData = null;
        if (httpJson.isSuccess()) {
            this.observableTableTwoList.clear();
            this.observableTableThreeList.clear();
            outData = (GetOneAddBoxOutData)JSON.parseObject((String)httpJson.getMsg(), GetOneAddBoxOutData.class);
            AddBoxInfoOutData infoOutData = outData.getGaiaSdIndrawerH();
            infoOutData.setIndex("1");
            ArrayList<AddBoxInfoOutData> dataList = new ArrayList<AddBoxInfoOutData>();
            dataList.add(infoOutData);
            this.observableTableTwoList = FXCollections.observableArrayList(dataList);
            this.tableViewTwo.setItems(this.observableTableTwoList);
            this.checkBox.setCellValueFactory(cellData -> ((AddBoxInfoOutData)cellData.getValue()).getCheckBox().getCustomCheckBox());
            this.gsegChangeToComBoxEdit(this.gsihEmp);
            for (int i = 0; i < outData.getGaiaSdIndrawerDList().size(); ++i) {
                outData.getGaiaSdIndrawerDList().get(i).setIndexDetail(String.valueOf(i + 1));
            }
            this.observableTableThreeList = FXCollections.observableArrayList(outData.getGaiaSdIndrawerDList());
            this.tableViewThree.setItems(this.observableTableThreeList);
            this.gsidQtyToTextField();
        } else {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", httpJson.getMsg());
            alert.showAndWait();
        }
    }

    public void gsidQtyToText() {
        this.gsidQty.setCellFactory(tc -> {
            final Text text = new Text();
            TableCell<AddBoxDetailOutData, String> cell = new TableCell<AddBoxDetailOutData, String>(){

                protected void updateItem(String chuzhi, boolean empty) {
                    super.updateItem(chuzhi, empty);
                    if (empty) {
                        this.setGraphic(null);
                    } else {
                        text.setText(chuzhi);
                        this.setGraphic((Node)text);
                    }
                }
            };
            return cell;
        });
    }

    public void gsidQtyToTextField() {
        this.gsidQty.setCellFactory(tc -> {
            final TextField textField = new TextField();
            textField.setMinHeight(30.0);
            textField.setPrefWidth(90.0);
            TableCell<AddBoxDetailOutData, String> cell = new TableCell<AddBoxDetailOutData, String>(){

                protected void updateItem(String chuzhi, boolean empty) {
                    super.updateItem(chuzhi, empty);
                    if (empty) {
                        this.setGraphic(null);
                    } else {
                        textField.setText(chuzhi);
                        this.setGraphic((Node)textField);
                    }
                }
            };
            textField.textProperty().addListener((ChangeListener)new ChangeListener<String>(){
                final TableCell val_cell;
                {
                    this.val_cell = cell;
                }

                public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
                    int rank = this.val_cell.getIndex();
                    if (ObjectUtil.isNotEmpty(newValue) && !CommonUtil.positiveInteger(newValue)) {
                        Alert alert = AddBoxController.this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "\u8bf7\u8f93\u5165\u6b63\u6574\u6570");
                        alert.showAndWait();
                        return;
                    }
                    ((AddBoxDetailOutData)AddBoxController.this.observableTableThreeList.get(rank)).setGsidQty(newValue);
                }
            });
            return cell;
        });
    }

    public void gsegChangeToComBoxEdit(TableColumn<AddBoxInfoOutData, String> column) {
        column.setCellFactory(tc -> {
            final ComboBox combo = new ComboBox();
            combo.setItems(this.gsegNameOptions);
            combo.setEditable(false);
            combo.setMinHeight(30.0);
            combo.setPrefWidth(150.0);
            this.comboxInit(combo);
            TableCell<AddBoxInfoOutData, String> cell = new TableCell<AddBoxInfoOutData, String>(){

                protected void updateItem(String chuzhi, boolean empty) {
                    super.updateItem(chuzhi, empty);
                    if (empty) {
                        this.setGraphic(null);
                    } else if ("\u5df2\u88c5\u6597".equals(((AddBoxInfoOutData)AddBoxController.this.observableTableTwoList.get(this.getIndex())).getGsihStatus())) {
                        Text text = new Text();
                        text.setText(chuzhi);
                        this.setGraphic((Node)text);
                    } else {
                        this.setGraphic((Node)combo);
                    }
                }
            };
            combo.setOnAction(arg_0 -> this.lambda$null$6((TableCell)cell, combo, (ActionEvent) arg_0));
            return cell;
        });
    }

    public void comboxInit(ComboBox box) {
        box.converterProperty().set(new StringConverter<KeyValue>(){

            public String toString(KeyValue object) {
                return object.getName();
            }

            public KeyValue fromString(String string) {
                return null;
            }
        });
    }

    @FXML
    private void addAction() {
        this.addaddBoxController.init();
        GysApplication.showView(AddAddBoxView.class, (Modality)Modality.APPLICATION_MODAL);
    }

    @FXML
    private void examineAction() {
        Alert alert;
        int index = 0;
        for (AddBoxInfoOutData i : this.observableTableTwoList) {
            if (!i.getCheckBox().isSelected().booleanValue()) continue;
            index = Integer.valueOf(i.getIndex());
            break;
        }
        if (index == 0) {
            Alert alert2 = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "\u672a\u9009\u62e9\u5bf9\u5e94\u8bb0\u5f55\uff0c\u8bf7\u91cd\u65b0\u9009\u62e9\uff01");
            alert2.showAndWait();
            return;
        }
        AddBoxInfoOutData addBoxInfoOutData = (AddBoxInfoOutData)this.observableTableTwoList.get(index - 1);
        if ("\u5df2\u88c5\u6597".equals(addBoxInfoOutData.getGsihStatus())) {
            alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "\u5df2\u88c5\u6597,\u4e0d\u53ef\u5ba1\u6838");
            alert.showAndWait();
            return;
        }
        if (ObjectUtil.isEmpty(addBoxInfoOutData.getGsihEmp())) {
            alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "\u8bf7\u9009\u62e9\u88c5\u6597\u4eba\u5458");
            alert.showAndWait();
            return;
        }
        ObservableList addBoxDetailOutDataList = this.tableViewThree.getItems();
        GetOneAddBoxOutData addBoxOutData = new GetOneAddBoxOutData();
        addBoxOutData.setGaiaSdIndrawerH(addBoxInfoOutData);
        addBoxOutData.setGaiaSdIndrawerDList((List<AddBoxDetailOutData>)addBoxDetailOutDataList);
        HashMap<String, Object> param = new HashMap<String, Object>();
        AddBoxInfoInData infoInData = new AddBoxInfoInData();
        BeanUtils.copyProperties(addBoxInfoOutData, infoInData);
        param.put("gaiaSdIndrawerH", infoInData);
        param.put("gaiaSdIndrawerDList", addBoxDetailOutDataList);
        HttpJson httpJson = AddBoxUtil.examine(param);
        if (httpJson.isSuccess()) {
            Alert alert3 = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "\u5ba1\u6838\u6210\u529f!");
            alert3.showAndWait();
            this.initTableViewTwo();
        } else {
            Alert alert4 = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "\u5ba1\u6838\u5931\u8d25!");
            alert4.showAndWait();
        }
    }

    @FXML
    private void sureAction() {
        if (ObjectUtil.isEmpty(this.gsihVoucherIdQuery.getText()) && ObjectUtil.isEmpty(((KeyValue)this.gsihStatusQuery.getValue()).getValue()) && ObjectUtil.isEmpty(((KeyValue)this.gsihEmpQuery.getValue()).getValue()) && ObjectUtil.isEmpty(this.gsidProIdQuery.getText()) && ObjectUtil.isEmpty(this.gsidBatchNoQuery.getText()) && ObjectUtil.isEmpty(this.gsihDateQuery.getValue())) {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "\u5fc5\u987b\u81f3\u5c11\u586b\u5199\u4e00\u9879\u5185\u5bb9\u8fdb\u884c\u67e5\u8be2\uff01");
            alert.showAndWait();
            return;
        }
        this.initTableViewTwo();
    }

    @FXML
    private void reset() {
        this.gsihVoucherIdQuery.clear();
        this.gsihStatusQuery.setValue(null);
        this.gsihEmpQuery.setValue(null);
        this.gsidProIdQuery.clear();
        this.gsidBatchNoQuery.clear();
        this.gsihDateQuery.setValue(null);
    }

    public HBox getBoxView() {
        return this.boxView;
    }

    public VBox getVBox() {
        return this.vBox;
    }

    public TextField getGsihVoucherIdQuery() {
        return this.gsihVoucherIdQuery;
    }

    public TextField getGsidBatchNoQuery() {
        return this.gsidBatchNoQuery;
    }

    public TextField getGsidProIdQuery() {
        return this.gsidProIdQuery;
    }

    public HBox getQueryHbox() {
        return this.queryHbox;
    }

    public TableView<AddBoxInfoOutData> getTableViewTwo() {
        return this.tableViewTwo;
    }

    public TableColumn<AddBoxInfoOutData, String> getGsihDate() {
        return this.gsihDate;
    }

    public TableColumn<AddBoxInfoOutData, String> getGsihStatus() {
        return this.gsihStatus;
    }

    public TableColumn<AddBoxInfoOutData, String> getGsihVoucherId() {
        return this.gsihVoucherId;
    }

    public TableColumn<AddBoxInfoOutData, String> getIndex() {
        return this.index;
    }

    public TableColumn<AddBoxInfoOutData, CheckBox> getCheckBox() {
        return this.checkBox;
    }

    public TableColumn<AddBoxInfoOutData, String> getGsihEmp() {
        return this.gsihEmp;
    }

    public TableColumn<AddBoxInfoOutData, String> getGsihRemaks() {
        return this.gsihRemaks;
    }

    public AnchorPane getAnchorPane() {
        return this.anchorPane;
    }

    public TableView<AddBoxDetailOutData> getTableViewThree() {
        return this.tableViewThree;
    }

    public TableColumn<AddBoxDetailOutData, String> getGsidBatch() {
        return this.gsidBatch;
    }

    public TableColumn<AddBoxDetailOutData, String> getProForm() {
        return this.proForm;
    }

    public TableColumn<AddBoxDetailOutData, String> getProSpecs() {
        return this.proSpecs;
    }

    public TableColumn<AddBoxDetailOutData, String> getProPlace() {
        return this.proPlace;
    }

    public TableColumn<AddBoxDetailOutData, String> getProUnit() {
        return this.proUnit;
    }

    public TableColumn<AddBoxDetailOutData, String> getGsadStockStatus() {
        return this.gsadStockStatus;
    }

    public TableColumn<AddBoxDetailOutData, String> getGsidValidDate() {
        return this.gsidValidDate;
    }

    public TableColumn<AddBoxDetailOutData, String> getGsidProId() {
        return this.gsidProId;
    }

    public TableColumn<AddBoxDetailOutData, String> getGsidProName() {
        return this.gsidProName;
    }

    public TableColumn<AddBoxDetailOutData, String> getProRegisterNo() {
        return this.proRegisterNo;
    }

    public TableColumn<AddBoxDetailOutData, String> getProFactoryName() {
        return this.proFactoryName;
    }

    public TableColumn<AddBoxDetailOutData, String> getGsidQty() {
        return this.gsidQty;
    }

    public TableColumn<AddBoxDetailOutData, String> getIndexDetail() {
        return this.indexDetail;
    }

    public TableColumn<AddBoxDetailOutData, String> getGsidBatchNo() {
        return this.gsidBatchNo;
    }

    public TableColumn<AddBoxDetailOutData, String> getNormalPrice() {
        return this.normalPrice;
    }

    public Button getEnterBtn() {
        return this.enterBtn;
    }

    public ComboBox<KeyValue> getGsihStatusQuery() {
        return this.gsihStatusQuery;
    }

    public ScrollPane getScrollPane() {
        return this.scrollPane;
    }

    public Insets getTableViewTwoInsets() {
        return this.tableViewTwoInsets;
    }

    public Button getApproveBtn() {
        return this.approveBtn;
    }

    public HBox getQueryHbox1() {
        return this.queryHbox1;
    }

    public DatePicker getGsihDateQuery() {
        return this.gsihDateQuery;
    }

    public IndexController getIndexController() {
        return this.indexController;
    }

    public ComboBox<KeyValue> getGsihEmpQuery() {
        return this.gsihEmpQuery;
    }

    public HBox getBoxViewTwo() {
        return this.boxViewTwo;
    }

    public ClearBoxTipController getClearBoxTipController() {
        return this.clearBoxTipController;
    }

    public AddAddBoxController getAddaddBoxController() {
        return this.addaddBoxController;
    }

    public ObservableList<AddBoxInfoOutData> getObservableTableTwoList() {
        return this.observableTableTwoList;
    }

    public ObservableList<AddBoxDetailOutData> getObservableTableThreeList() {
        return this.observableTableThreeList;
    }

    public ObservableList<KeyValue> getGsegNameOptions() {
        return this.gsegNameOptions;
    }

    public void setBoxView(HBox boxView) {
        this.boxView = boxView;
    }

    public void setVBox(VBox vBox) {
        this.vBox = vBox;
    }

    public void setGsihVoucherIdQuery(TextField gsihVoucherIdQuery) {
        this.gsihVoucherIdQuery = gsihVoucherIdQuery;
    }

    public void setGsidBatchNoQuery(TextField gsidBatchNoQuery) {
        this.gsidBatchNoQuery = gsidBatchNoQuery;
    }

    public void setGsidProIdQuery(TextField gsidProIdQuery) {
        this.gsidProIdQuery = gsidProIdQuery;
    }

    public void setQueryHbox(HBox queryHbox) {
        this.queryHbox = queryHbox;
    }

    public void setTableViewTwo(TableView<AddBoxInfoOutData> tableViewTwo) {
        this.tableViewTwo = tableViewTwo;
    }

    public void setGsihDate(TableColumn<AddBoxInfoOutData, String> gsihDate) {
        this.gsihDate = gsihDate;
    }

    public void setGsihStatus(TableColumn<AddBoxInfoOutData, String> gsihStatus) {
        this.gsihStatus = gsihStatus;
    }

    public void setGsihVoucherId(TableColumn<AddBoxInfoOutData, String> gsihVoucherId) {
        this.gsihVoucherId = gsihVoucherId;
    }

    public void setIndex(TableColumn<AddBoxInfoOutData, String> index) {
        this.index = index;
    }

    public void setCheckBox(TableColumn<AddBoxInfoOutData, CheckBox> checkBox) {
        this.checkBox = checkBox;
    }

    public void setGsihEmp(TableColumn<AddBoxInfoOutData, String> gsihEmp) {
        this.gsihEmp = gsihEmp;
    }

    public void setGsihRemaks(TableColumn<AddBoxInfoOutData, String> gsihRemaks) {
        this.gsihRemaks = gsihRemaks;
    }

    public void setAnchorPane(AnchorPane anchorPane) {
        this.anchorPane = anchorPane;
    }

    public void setTableViewThree(TableView<AddBoxDetailOutData> tableViewThree) {
        this.tableViewThree = tableViewThree;
    }

    public void setGsidBatch(TableColumn<AddBoxDetailOutData, String> gsidBatch) {
        this.gsidBatch = gsidBatch;
    }

    public void setProForm(TableColumn<AddBoxDetailOutData, String> proForm) {
        this.proForm = proForm;
    }

    public void setProSpecs(TableColumn<AddBoxDetailOutData, String> proSpecs) {
        this.proSpecs = proSpecs;
    }

    public void setProPlace(TableColumn<AddBoxDetailOutData, String> proPlace) {
        this.proPlace = proPlace;
    }

    public void setProUnit(TableColumn<AddBoxDetailOutData, String> proUnit) {
        this.proUnit = proUnit;
    }

    public void setGsadStockStatus(TableColumn<AddBoxDetailOutData, String> gsadStockStatus) {
        this.gsadStockStatus = gsadStockStatus;
    }

    public void setGsidValidDate(TableColumn<AddBoxDetailOutData, String> gsidValidDate) {
        this.gsidValidDate = gsidValidDate;
    }

    public void setGsidProId(TableColumn<AddBoxDetailOutData, String> gsidProId) {
        this.gsidProId = gsidProId;
    }

    public void setGsidProName(TableColumn<AddBoxDetailOutData, String> gsidProName) {
        this.gsidProName = gsidProName;
    }

    public void setProRegisterNo(TableColumn<AddBoxDetailOutData, String> proRegisterNo) {
        this.proRegisterNo = proRegisterNo;
    }

    public void setProFactoryName(TableColumn<AddBoxDetailOutData, String> proFactoryName) {
        this.proFactoryName = proFactoryName;
    }

    public void setGsidQty(TableColumn<AddBoxDetailOutData, String> gsidQty) {
        this.gsidQty = gsidQty;
    }

    public void setIndexDetail(TableColumn<AddBoxDetailOutData, String> indexDetail) {
        this.indexDetail = indexDetail;
    }

    public void setGsidBatchNo(TableColumn<AddBoxDetailOutData, String> gsidBatchNo) {
        this.gsidBatchNo = gsidBatchNo;
    }

    public void setNormalPrice(TableColumn<AddBoxDetailOutData, String> normalPrice) {
        this.normalPrice = normalPrice;
    }

    public void setEnterBtn(Button enterBtn) {
        this.enterBtn = enterBtn;
    }

    public void setGsihStatusQuery(ComboBox<KeyValue> gsihStatusQuery) {
        this.gsihStatusQuery = gsihStatusQuery;
    }

    public void setScrollPane(ScrollPane scrollPane) {
        this.scrollPane = scrollPane;
    }

    public void setTableViewTwoInsets(Insets tableViewTwoInsets) {
        this.tableViewTwoInsets = tableViewTwoInsets;
    }

    public void setApproveBtn(Button approveBtn) {
        this.approveBtn = approveBtn;
    }

    public void setQueryHbox1(HBox queryHbox1) {
        this.queryHbox1 = queryHbox1;
    }

    public void setGsihDateQuery(DatePicker gsihDateQuery) {
        this.gsihDateQuery = gsihDateQuery;
    }

    public void setIndexController(IndexController indexController) {
        this.indexController = indexController;
    }

    public void setGsihEmpQuery(ComboBox<KeyValue> gsihEmpQuery) {
        this.gsihEmpQuery = gsihEmpQuery;
    }

    public void setBoxViewTwo(HBox boxViewTwo) {
        this.boxViewTwo = boxViewTwo;
    }

    public void setClearBoxTipController(ClearBoxTipController clearBoxTipController) {
        this.clearBoxTipController = clearBoxTipController;
    }

    public void setAddaddBoxController(AddAddBoxController addaddBoxController) {
        this.addaddBoxController = addaddBoxController;
    }

    public void setObservableTableTwoList(ObservableList<AddBoxInfoOutData> observableTableTwoList) {
        this.observableTableTwoList = observableTableTwoList;
    }

    public void setObservableTableThreeList(ObservableList<AddBoxDetailOutData> observableTableThreeList) {
        this.observableTableThreeList = observableTableThreeList;
    }

    public void setGsegNameOptions(ObservableList<KeyValue> gsegNameOptions) {
        this.gsegNameOptions = gsegNameOptions;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof AddBoxController)) {
            return false;
        }
        AddBoxController other = (AddBoxController)o;
        if (!other.canEqual(this)) {
            return false;
        }
        HBox this$boxView = this.getBoxView();
        HBox other$boxView = other.getBoxView();
        if (this$boxView == null ? other$boxView != null : !this$boxView.equals(other$boxView)) {
            return false;
        }
        VBox this$vBox = this.getVBox();
        VBox other$vBox = other.getVBox();
        if (this$vBox == null ? other$vBox != null : !this$vBox.equals(other$vBox)) {
            return false;
        }
        TextField this$gsihVoucherIdQuery = this.getGsihVoucherIdQuery();
        TextField other$gsihVoucherIdQuery = other.getGsihVoucherIdQuery();
        if (this$gsihVoucherIdQuery == null ? other$gsihVoucherIdQuery != null : !this$gsihVoucherIdQuery.equals(other$gsihVoucherIdQuery)) {
            return false;
        }
        TextField this$gsidBatchNoQuery = this.getGsidBatchNoQuery();
        TextField other$gsidBatchNoQuery = other.getGsidBatchNoQuery();
        if (this$gsidBatchNoQuery == null ? other$gsidBatchNoQuery != null : !this$gsidBatchNoQuery.equals(other$gsidBatchNoQuery)) {
            return false;
        }
        TextField this$gsidProIdQuery = this.getGsidProIdQuery();
        TextField other$gsidProIdQuery = other.getGsidProIdQuery();
        if (this$gsidProIdQuery == null ? other$gsidProIdQuery != null : !this$gsidProIdQuery.equals(other$gsidProIdQuery)) {
            return false;
        }
        HBox this$queryHbox = this.getQueryHbox();
        HBox other$queryHbox = other.getQueryHbox();
        if (this$queryHbox == null ? other$queryHbox != null : !this$queryHbox.equals(other$queryHbox)) {
            return false;
        }
        TableView<AddBoxInfoOutData> this$tableViewTwo = this.getTableViewTwo();
        TableView<AddBoxInfoOutData> other$tableViewTwo = other.getTableViewTwo();
        if (this$tableViewTwo == null ? other$tableViewTwo != null : !this$tableViewTwo.equals(other$tableViewTwo)) {
            return false;
        }
        TableColumn<AddBoxInfoOutData, String> this$gsihDate = this.getGsihDate();
        TableColumn<AddBoxInfoOutData, String> other$gsihDate = other.getGsihDate();
        if (this$gsihDate == null ? other$gsihDate != null : !this$gsihDate.equals(other$gsihDate)) {
            return false;
        }
        TableColumn<AddBoxInfoOutData, String> this$gsihStatus = this.getGsihStatus();
        TableColumn<AddBoxInfoOutData, String> other$gsihStatus = other.getGsihStatus();
        if (this$gsihStatus == null ? other$gsihStatus != null : !this$gsihStatus.equals(other$gsihStatus)) {
            return false;
        }
        TableColumn<AddBoxInfoOutData, String> this$gsihVoucherId = this.getGsihVoucherId();
        TableColumn<AddBoxInfoOutData, String> other$gsihVoucherId = other.getGsihVoucherId();
        if (this$gsihVoucherId == null ? other$gsihVoucherId != null : !this$gsihVoucherId.equals(other$gsihVoucherId)) {
            return false;
        }
        TableColumn<AddBoxInfoOutData, String> this$index = this.getIndex();
        TableColumn<AddBoxInfoOutData, String> other$index = other.getIndex();
        if (this$index == null ? other$index != null : !this$index.equals(other$index)) {
            return false;
        }
        TableColumn<AddBoxInfoOutData, CheckBox> this$checkBox = this.getCheckBox();
        TableColumn<AddBoxInfoOutData, CheckBox> other$checkBox = other.getCheckBox();
        if (this$checkBox == null ? other$checkBox != null : !this$checkBox.equals(other$checkBox)) {
            return false;
        }
        TableColumn<AddBoxInfoOutData, String> this$gsihEmp = this.getGsihEmp();
        TableColumn<AddBoxInfoOutData, String> other$gsihEmp = other.getGsihEmp();
        if (this$gsihEmp == null ? other$gsihEmp != null : !this$gsihEmp.equals(other$gsihEmp)) {
            return false;
        }
        TableColumn<AddBoxInfoOutData, String> this$gsihRemaks = this.getGsihRemaks();
        TableColumn<AddBoxInfoOutData, String> other$gsihRemaks = other.getGsihRemaks();
        if (this$gsihRemaks == null ? other$gsihRemaks != null : !this$gsihRemaks.equals(other$gsihRemaks)) {
            return false;
        }
        AnchorPane this$anchorPane = this.getAnchorPane();
        AnchorPane other$anchorPane = other.getAnchorPane();
        if (this$anchorPane == null ? other$anchorPane != null : !this$anchorPane.equals(other$anchorPane)) {
            return false;
        }
        TableView<AddBoxDetailOutData> this$tableViewThree = this.getTableViewThree();
        TableView<AddBoxDetailOutData> other$tableViewThree = other.getTableViewThree();
        if (this$tableViewThree == null ? other$tableViewThree != null : !this$tableViewThree.equals(other$tableViewThree)) {
            return false;
        }
        TableColumn<AddBoxDetailOutData, String> this$gsidBatch = this.getGsidBatch();
        TableColumn<AddBoxDetailOutData, String> other$gsidBatch = other.getGsidBatch();
        if (this$gsidBatch == null ? other$gsidBatch != null : !this$gsidBatch.equals(other$gsidBatch)) {
            return false;
        }
        TableColumn<AddBoxDetailOutData, String> this$proForm = this.getProForm();
        TableColumn<AddBoxDetailOutData, String> other$proForm = other.getProForm();
        if (this$proForm == null ? other$proForm != null : !this$proForm.equals(other$proForm)) {
            return false;
        }
        TableColumn<AddBoxDetailOutData, String> this$proSpecs = this.getProSpecs();
        TableColumn<AddBoxDetailOutData, String> other$proSpecs = other.getProSpecs();
        if (this$proSpecs == null ? other$proSpecs != null : !this$proSpecs.equals(other$proSpecs)) {
            return false;
        }
        TableColumn<AddBoxDetailOutData, String> this$proPlace = this.getProPlace();
        TableColumn<AddBoxDetailOutData, String> other$proPlace = other.getProPlace();
        if (this$proPlace == null ? other$proPlace != null : !this$proPlace.equals(other$proPlace)) {
            return false;
        }
        TableColumn<AddBoxDetailOutData, String> this$proUnit = this.getProUnit();
        TableColumn<AddBoxDetailOutData, String> other$proUnit = other.getProUnit();
        if (this$proUnit == null ? other$proUnit != null : !this$proUnit.equals(other$proUnit)) {
            return false;
        }
        TableColumn<AddBoxDetailOutData, String> this$gsadStockStatus = this.getGsadStockStatus();
        TableColumn<AddBoxDetailOutData, String> other$gsadStockStatus = other.getGsadStockStatus();
        if (this$gsadStockStatus == null ? other$gsadStockStatus != null : !this$gsadStockStatus.equals(other$gsadStockStatus)) {
            return false;
        }
        TableColumn<AddBoxDetailOutData, String> this$gsidValidDate = this.getGsidValidDate();
        TableColumn<AddBoxDetailOutData, String> other$gsidValidDate = other.getGsidValidDate();
        if (this$gsidValidDate == null ? other$gsidValidDate != null : !this$gsidValidDate.equals(other$gsidValidDate)) {
            return false;
        }
        TableColumn<AddBoxDetailOutData, String> this$gsidProId = this.getGsidProId();
        TableColumn<AddBoxDetailOutData, String> other$gsidProId = other.getGsidProId();
        if (this$gsidProId == null ? other$gsidProId != null : !this$gsidProId.equals(other$gsidProId)) {
            return false;
        }
        TableColumn<AddBoxDetailOutData, String> this$gsidProName = this.getGsidProName();
        TableColumn<AddBoxDetailOutData, String> other$gsidProName = other.getGsidProName();
        if (this$gsidProName == null ? other$gsidProName != null : !this$gsidProName.equals(other$gsidProName)) {
            return false;
        }
        TableColumn<AddBoxDetailOutData, String> this$proRegisterNo = this.getProRegisterNo();
        TableColumn<AddBoxDetailOutData, String> other$proRegisterNo = other.getProRegisterNo();
        if (this$proRegisterNo == null ? other$proRegisterNo != null : !this$proRegisterNo.equals(other$proRegisterNo)) {
            return false;
        }
        TableColumn<AddBoxDetailOutData, String> this$proFactoryName = this.getProFactoryName();
        TableColumn<AddBoxDetailOutData, String> other$proFactoryName = other.getProFactoryName();
        if (this$proFactoryName == null ? other$proFactoryName != null : !this$proFactoryName.equals(other$proFactoryName)) {
            return false;
        }
        TableColumn<AddBoxDetailOutData, String> this$gsidQty = this.getGsidQty();
        TableColumn<AddBoxDetailOutData, String> other$gsidQty = other.getGsidQty();
        if (this$gsidQty == null ? other$gsidQty != null : !this$gsidQty.equals(other$gsidQty)) {
            return false;
        }
        TableColumn<AddBoxDetailOutData, String> this$indexDetail = this.getIndexDetail();
        TableColumn<AddBoxDetailOutData, String> other$indexDetail = other.getIndexDetail();
        if (this$indexDetail == null ? other$indexDetail != null : !this$indexDetail.equals(other$indexDetail)) {
            return false;
        }
        TableColumn<AddBoxDetailOutData, String> this$gsidBatchNo = this.getGsidBatchNo();
        TableColumn<AddBoxDetailOutData, String> other$gsidBatchNo = other.getGsidBatchNo();
        if (this$gsidBatchNo == null ? other$gsidBatchNo != null : !this$gsidBatchNo.equals(other$gsidBatchNo)) {
            return false;
        }
        TableColumn<AddBoxDetailOutData, String> this$normalPrice = this.getNormalPrice();
        TableColumn<AddBoxDetailOutData, String> other$normalPrice = other.getNormalPrice();
        if (this$normalPrice == null ? other$normalPrice != null : !this$normalPrice.equals(other$normalPrice)) {
            return false;
        }
        Button this$enterBtn = this.getEnterBtn();
        Button other$enterBtn = other.getEnterBtn();
        if (this$enterBtn == null ? other$enterBtn != null : !this$enterBtn.equals(other$enterBtn)) {
            return false;
        }
        ComboBox<KeyValue> this$gsihStatusQuery = this.getGsihStatusQuery();
        ComboBox<KeyValue> other$gsihStatusQuery = other.getGsihStatusQuery();
        if (this$gsihStatusQuery == null ? other$gsihStatusQuery != null : !this$gsihStatusQuery.equals(other$gsihStatusQuery)) {
            return false;
        }
        ScrollPane this$scrollPane = this.getScrollPane();
        ScrollPane other$scrollPane = other.getScrollPane();
        if (this$scrollPane == null ? other$scrollPane != null : !this$scrollPane.equals(other$scrollPane)) {
            return false;
        }
        Insets this$tableViewTwoInsets = this.getTableViewTwoInsets();
        Insets other$tableViewTwoInsets = other.getTableViewTwoInsets();
        if (this$tableViewTwoInsets == null ? other$tableViewTwoInsets != null : !this$tableViewTwoInsets.equals(other$tableViewTwoInsets)) {
            return false;
        }
        Button this$approveBtn = this.getApproveBtn();
        Button other$approveBtn = other.getApproveBtn();
        if (this$approveBtn == null ? other$approveBtn != null : !this$approveBtn.equals(other$approveBtn)) {
            return false;
        }
        HBox this$queryHbox1 = this.getQueryHbox1();
        HBox other$queryHbox1 = other.getQueryHbox1();
        if (this$queryHbox1 == null ? other$queryHbox1 != null : !this$queryHbox1.equals(other$queryHbox1)) {
            return false;
        }
        DatePicker this$gsihDateQuery = this.getGsihDateQuery();
        DatePicker other$gsihDateQuery = other.getGsihDateQuery();
        if (this$gsihDateQuery == null ? other$gsihDateQuery != null : !this$gsihDateQuery.equals(other$gsihDateQuery)) {
            return false;
        }
        IndexController this$indexController = this.getIndexController();
        IndexController other$indexController = other.getIndexController();
        if (this$indexController == null ? other$indexController != null : !(this$indexController).equals(other$indexController)) {
            return false;
        }
        ComboBox<KeyValue> this$gsihEmpQuery = this.getGsihEmpQuery();
        ComboBox<KeyValue> other$gsihEmpQuery = other.getGsihEmpQuery();
        if (this$gsihEmpQuery == null ? other$gsihEmpQuery != null : !this$gsihEmpQuery.equals(other$gsihEmpQuery)) {
            return false;
        }
        HBox this$boxViewTwo = this.getBoxViewTwo();
        HBox other$boxViewTwo = other.getBoxViewTwo();
        if (this$boxViewTwo == null ? other$boxViewTwo != null : !this$boxViewTwo.equals(other$boxViewTwo)) {
            return false;
        }
        ClearBoxTipController this$clearBoxTipController = this.getClearBoxTipController();
        ClearBoxTipController other$clearBoxTipController = other.getClearBoxTipController();
        if (this$clearBoxTipController == null ? other$clearBoxTipController != null : !(this$clearBoxTipController).equals(other$clearBoxTipController)) {
            return false;
        }
        AddAddBoxController this$addaddBoxController = this.getAddaddBoxController();
        AddAddBoxController other$addaddBoxController = other.getAddaddBoxController();
        if (this$addaddBoxController == null ? other$addaddBoxController != null : !(this$addaddBoxController).equals(other$addaddBoxController)) {
            return false;
        }
        ObservableList<AddBoxInfoOutData> this$observableTableTwoList = this.getObservableTableTwoList();
        ObservableList<AddBoxInfoOutData> other$observableTableTwoList = other.getObservableTableTwoList();
        if (this$observableTableTwoList == null ? other$observableTableTwoList != null : !this$observableTableTwoList.equals(other$observableTableTwoList)) {
            return false;
        }
        ObservableList<AddBoxDetailOutData> this$observableTableThreeList = this.getObservableTableThreeList();
        ObservableList<AddBoxDetailOutData> other$observableTableThreeList = other.getObservableTableThreeList();
        if (this$observableTableThreeList == null ? other$observableTableThreeList != null : !this$observableTableThreeList.equals(other$observableTableThreeList)) {
            return false;
        }
        ObservableList<KeyValue> this$gsegNameOptions = this.getGsegNameOptions();
        ObservableList<KeyValue> other$gsegNameOptions = other.getGsegNameOptions();
        return !(this$gsegNameOptions == null ? other$gsegNameOptions != null : !this$gsegNameOptions.equals(other$gsegNameOptions));
    }

    protected boolean canEqual(Object other) {
        return other instanceof AddBoxController;
    }

    public int hashCode() {
        int PRIME = 59;
        int result = 1;
        HBox $boxView = this.getBoxView();
        result = result * 59 + ($boxView == null ? 43 : $boxView.hashCode());
        VBox $vBox = this.getVBox();
        result = result * 59 + ($vBox == null ? 43 : $vBox.hashCode());
        TextField $gsihVoucherIdQuery = this.getGsihVoucherIdQuery();
        result = result * 59 + ($gsihVoucherIdQuery == null ? 43 : $gsihVoucherIdQuery.hashCode());
        TextField $gsidBatchNoQuery = this.getGsidBatchNoQuery();
        result = result * 59 + ($gsidBatchNoQuery == null ? 43 : $gsidBatchNoQuery.hashCode());
        TextField $gsidProIdQuery = this.getGsidProIdQuery();
        result = result * 59 + ($gsidProIdQuery == null ? 43 : $gsidProIdQuery.hashCode());
        HBox $queryHbox = this.getQueryHbox();
        result = result * 59 + ($queryHbox == null ? 43 : $queryHbox.hashCode());
        TableView<AddBoxInfoOutData> $tableViewTwo = this.getTableViewTwo();
        result = result * 59 + ($tableViewTwo == null ? 43 : $tableViewTwo.hashCode());
        TableColumn<AddBoxInfoOutData, String> $gsihDate = this.getGsihDate();
        result = result * 59 + ($gsihDate == null ? 43 : $gsihDate.hashCode());
        TableColumn<AddBoxInfoOutData, String> $gsihStatus = this.getGsihStatus();
        result = result * 59 + ($gsihStatus == null ? 43 : $gsihStatus.hashCode());
        TableColumn<AddBoxInfoOutData, String> $gsihVoucherId = this.getGsihVoucherId();
        result = result * 59 + ($gsihVoucherId == null ? 43 : $gsihVoucherId.hashCode());
        TableColumn<AddBoxInfoOutData, String> $index = this.getIndex();
        result = result * 59 + ($index == null ? 43 : $index.hashCode());
        TableColumn<AddBoxInfoOutData, CheckBox> $checkBox = this.getCheckBox();
        result = result * 59 + ($checkBox == null ? 43 : $checkBox.hashCode());
        TableColumn<AddBoxInfoOutData, String> $gsihEmp = this.getGsihEmp();
        result = result * 59 + ($gsihEmp == null ? 43 : $gsihEmp.hashCode());
        TableColumn<AddBoxInfoOutData, String> $gsihRemaks = this.getGsihRemaks();
        result = result * 59 + ($gsihRemaks == null ? 43 : $gsihRemaks.hashCode());
        AnchorPane $anchorPane = this.getAnchorPane();
        result = result * 59 + ($anchorPane == null ? 43 : $anchorPane.hashCode());
        TableView<AddBoxDetailOutData> $tableViewThree = this.getTableViewThree();
        result = result * 59 + ($tableViewThree == null ? 43 : $tableViewThree.hashCode());
        TableColumn<AddBoxDetailOutData, String> $gsidBatch = this.getGsidBatch();
        result = result * 59 + ($gsidBatch == null ? 43 : $gsidBatch.hashCode());
        TableColumn<AddBoxDetailOutData, String> $proForm = this.getProForm();
        result = result * 59 + ($proForm == null ? 43 : $proForm.hashCode());
        TableColumn<AddBoxDetailOutData, String> $proSpecs = this.getProSpecs();
        result = result * 59 + ($proSpecs == null ? 43 : $proSpecs.hashCode());
        TableColumn<AddBoxDetailOutData, String> $proPlace = this.getProPlace();
        result = result * 59 + ($proPlace == null ? 43 : $proPlace.hashCode());
        TableColumn<AddBoxDetailOutData, String> $proUnit = this.getProUnit();
        result = result * 59 + ($proUnit == null ? 43 : $proUnit.hashCode());
        TableColumn<AddBoxDetailOutData, String> $gsadStockStatus = this.getGsadStockStatus();
        result = result * 59 + ($gsadStockStatus == null ? 43 : $gsadStockStatus.hashCode());
        TableColumn<AddBoxDetailOutData, String> $gsidValidDate = this.getGsidValidDate();
        result = result * 59 + ($gsidValidDate == null ? 43 : $gsidValidDate.hashCode());
        TableColumn<AddBoxDetailOutData, String> $gsidProId = this.getGsidProId();
        result = result * 59 + ($gsidProId == null ? 43 : $gsidProId.hashCode());
        TableColumn<AddBoxDetailOutData, String> $gsidProName = this.getGsidProName();
        result = result * 59 + ($gsidProName == null ? 43 : $gsidProName.hashCode());
        TableColumn<AddBoxDetailOutData, String> $proRegisterNo = this.getProRegisterNo();
        result = result * 59 + ($proRegisterNo == null ? 43 : $proRegisterNo.hashCode());
        TableColumn<AddBoxDetailOutData, String> $proFactoryName = this.getProFactoryName();
        result = result * 59 + ($proFactoryName == null ? 43 : $proFactoryName.hashCode());
        TableColumn<AddBoxDetailOutData, String> $gsidQty = this.getGsidQty();
        result = result * 59 + ($gsidQty == null ? 43 : $gsidQty.hashCode());
        TableColumn<AddBoxDetailOutData, String> $indexDetail = this.getIndexDetail();
        result = result * 59 + ($indexDetail == null ? 43 : $indexDetail.hashCode());
        TableColumn<AddBoxDetailOutData, String> $gsidBatchNo = this.getGsidBatchNo();
        result = result * 59 + ($gsidBatchNo == null ? 43 : $gsidBatchNo.hashCode());
        TableColumn<AddBoxDetailOutData, String> $normalPrice = this.getNormalPrice();
        result = result * 59 + ($normalPrice == null ? 43 : $normalPrice.hashCode());
        Button $enterBtn = this.getEnterBtn();
        result = result * 59 + ($enterBtn == null ? 43 : $enterBtn.hashCode());
        ComboBox<KeyValue> $gsihStatusQuery = this.getGsihStatusQuery();
        result = result * 59 + ($gsihStatusQuery == null ? 43 : $gsihStatusQuery.hashCode());
        ScrollPane $scrollPane = this.getScrollPane();
        result = result * 59 + ($scrollPane == null ? 43 : $scrollPane.hashCode());
        Insets $tableViewTwoInsets = this.getTableViewTwoInsets();
        result = result * 59 + ($tableViewTwoInsets == null ? 43 : $tableViewTwoInsets.hashCode());
        Button $approveBtn = this.getApproveBtn();
        result = result * 59 + ($approveBtn == null ? 43 : $approveBtn.hashCode());
        HBox $queryHbox1 = this.getQueryHbox1();
        result = result * 59 + ($queryHbox1 == null ? 43 : $queryHbox1.hashCode());
        DatePicker $gsihDateQuery = this.getGsihDateQuery();
        result = result * 59 + ($gsihDateQuery == null ? 43 : $gsihDateQuery.hashCode());
        IndexController $indexController = this.getIndexController();
        result = result * 59 + ($indexController == null ? 43 : ($indexController).hashCode());
        ComboBox<KeyValue> $gsihEmpQuery = this.getGsihEmpQuery();
        result = result * 59 + ($gsihEmpQuery == null ? 43 : $gsihEmpQuery.hashCode());
        HBox $boxViewTwo = this.getBoxViewTwo();
        result = result * 59 + ($boxViewTwo == null ? 43 : $boxViewTwo.hashCode());
        ClearBoxTipController $clearBoxTipController = this.getClearBoxTipController();
        result = result * 59 + ($clearBoxTipController == null ? 43 : ($clearBoxTipController).hashCode());
        AddAddBoxController $addaddBoxController = this.getAddaddBoxController();
        result = result * 59 + ($addaddBoxController == null ? 43 : ($addaddBoxController).hashCode());
        ObservableList<AddBoxInfoOutData> $observableTableTwoList = this.getObservableTableTwoList();
        result = result * 59 + ($observableTableTwoList == null ? 43 : $observableTableTwoList.hashCode());
        ObservableList<AddBoxDetailOutData> $observableTableThreeList = this.getObservableTableThreeList();
        result = result * 59 + ($observableTableThreeList == null ? 43 : $observableTableThreeList.hashCode());
        ObservableList<KeyValue> $gsegNameOptions = this.getGsegNameOptions();
        result = result * 59 + ($gsegNameOptions == null ? 43 : $gsegNameOptions.hashCode());
        return result;
    }

    public String toString() {
        return "AddBoxController(boxView=" + this.getBoxView() + ", vBox=" + this.getVBox() + ", gsihVoucherIdQuery=" + this.getGsihVoucherIdQuery() + ", gsidBatchNoQuery=" + this.getGsidBatchNoQuery() + ", gsidProIdQuery=" + this.getGsidProIdQuery() + ", queryHbox=" + this.getQueryHbox() + ", tableViewTwo=" + this.getTableViewTwo() + ", gsihDate=" + this.getGsihDate() + ", gsihStatus=" + this.getGsihStatus() + ", gsihVoucherId=" + this.getGsihVoucherId() + ", index=" + this.getIndex() + ", checkBox=" + this.getCheckBox() + ", gsihEmp=" + this.getGsihEmp() + ", gsihRemaks=" + this.getGsihRemaks() + ", anchorPane=" + this.getAnchorPane() + ", tableViewThree=" + this.getTableViewThree() + ", gsidBatch=" + this.getGsidBatch() + ", proForm=" + this.getProForm() + ", proSpecs=" + this.getProSpecs() + ", proPlace=" + this.getProPlace() + ", proUnit=" + this.getProUnit() + ", gsadStockStatus=" + this.getGsadStockStatus() + ", gsidValidDate=" + this.getGsidValidDate() + ", gsidProId=" + this.getGsidProId() + ", gsidProName=" + this.getGsidProName() + ", proRegisterNo=" + this.getProRegisterNo() + ", proFactoryName=" + this.getProFactoryName() + ", gsidQty=" + this.getGsidQty() + ", indexDetail=" + this.getIndexDetail() + ", gsidBatchNo=" + this.getGsidBatchNo() + ", normalPrice=" + this.getNormalPrice() + ", enterBtn=" + this.getEnterBtn() + ", gsihStatusQuery=" + this.getGsihStatusQuery() + ", scrollPane=" + this.getScrollPane() + ", tableViewTwoInsets=" + this.getTableViewTwoInsets() + ", approveBtn=" + this.getApproveBtn() + ", queryHbox1=" + this.getQueryHbox1() + ", gsihDateQuery=" + this.getGsihDateQuery() + ", indexController=" + this.getIndexController() + ", gsihEmpQuery=" + this.getGsihEmpQuery() + ", boxViewTwo=" + this.getBoxViewTwo() + ", clearBoxTipController=" + this.getClearBoxTipController() + ", addaddBoxController=" + this.getAddaddBoxController() + ", observableTableTwoList=" + this.getObservableTableTwoList() + ", observableTableThreeList=" + this.getObservableTableThreeList() + ", gsegNameOptions=" + this.getGsegNameOptions() + ")";
    }

    private void lambda$null$6(TableCell cell, ComboBox combo, ActionEvent e) {
        int rank = cell.getIndex();
        String cloumName = cell.getId();
        String value = ((KeyValue)combo.getValue()).getValue();
        String name = ((KeyValue)combo.getValue()).getName();
        AddBoxInfoOutData outData = (AddBoxInfoOutData)this.observableTableTwoList.get(rank);
        String methodName = CommonUtil.getSetMethod(cloumName);
        try {
            Method method = AddBoxInfoOutData.class.getMethod(methodName, String.class);
            method.invoke(outData, value);
        }
        catch (Exception ex) {
            throw new RuntimeException("\u6ca1\u6709\u65b9\u6cd5" + methodName);
        }
    }
}

